In the High Efficiency Video Coding (HEVC) Standard that is one of the next-generation image coding standards, various considerations for increasing coding efficiency have been made (see Non-patent Literature 1).
Examples of coding include inter frame coding and intra coding. In the inter frame coding, compression is performed by inter frame prediction where a prediction image is generated with reference to pixel information of a previous frame. In the intra coding, compression is performed by intra prediction where a prediction image is generated with reference to pixel information within a picture.
In the intra coding, modes are prepared in number (intraPredModeNum) corresponding to the predetermined sizes of coding target blocks (the predetermined sizes are, for example, the values of log 2TrafoSize and the types of Prediction Units) in order to differentiate the directions etc. for generating intra prediction pixels.
For example, it is currently considered to prepare 34 modes (the value of intraPredModeNum is 34) for coding target blocks each having a value of the size log 2TrafoSize within a range from 3 to 5 inclusive (FIG. 15).
These modes are called intra prediction modes (IntraPredMode). The value of the intra prediction mode (intra prediction mode number) is a value that represents a corresponding prediction direction. For example, there are 34 or 17 intra prediction modes. For example, a value (or a label) “0” of the intra prediction mode number shows the vertical (direction), a value “1” of the intra prediction mode number shows the horizontal (direction), a value “2” of the intra prediction mode number shows no direction called DC mode prediction, and values of 3 and larger (values between 3 and 33 inclusive for blocks having a predetermined size) of the intra prediction mode number show predetermined-angle directions associated respectively thereto.
Hereinafter, in this Description, the intra prediction mode number associated with a coding target block is referred to as a “target mode number”. The value indicated by a code string obtained by coding the “target mode number” according to a predetermined coding scheme is referred to as a “coding mode number” in order to differentiate from the “target mode number”.
For decoding a decoding target block (such as a luminance block), mode information is used which is “information for identifying which one of intra prediction modes should be used”. The mode information is generated for each prediction unit (hereinafter, referred to as PU).
At present, it is currently considered that mode information includes three information pieces as indicated below.
(I1) A “prediction mode use flag” (prev_intra_luma_pred_flag) that is a flag determining whether or not to use the value of intra prediction mode of an adjacent PU decoded before
(I2) A “candidate prediction mode number” (mpm_idx) that is an index indicating, when there are two or more candidates for the intra prediction mode (hereinafter, referred to as candidate intra prediction modes), which one of the candidate intra prediction modes should be used For example, the default index value is “0” which indicates the first candidate intra prediction mode.
(I3) A “coding mode number” (rem_intra_luma_pred_mode) that is a code (value) associated with a “target mode number” when the intra prediction mode number of an adjacent PU decoded before is not used In the decoding process, (1) the “coding mode number” is first extracted from the code string included in the mode information according to a predetermined variable length decoding method etc. (arithmetic decoding method etc.), and (2) using the extracted value, the “target mode number” (any one of the aforementioned 34 modes from 0 to 33 inclusive) is derived (or information used for the derivation is derived).